package TDALista;

/**
 * Class DNodo
 * @author Labrisca Joaquin, Vazquez Guillermo 
 */

public class DNodo<E> implements Position<E> {
	
	private E elemento;
    private DNodo<E> prev, next;
    
    public DNodo(E elemento) {
         this.elemento = elemento;
         prev = null;
         next = null;
    }
    
    public DNodo(E elemento, DNodo<E> siguiente, DNodo<E> anterior) {
    	this.elemento = elemento;
        this.next = siguiente; 
        this.prev = anterior;
    }
    
    /**
	 * Retorna el elemento del nodo.
	 * @return Elemento del nodo.
	 */
    public E getElemento() { 
    	return elemento; 
    }
    
    /**
   	 * Retorna el elemento del nodo.
   	 * @return Elemento del nodo.
   	 */
    public E element() {
    	return elemento;
    }
    
    /**
	 * Establece el elemento del nodo.
	 * @param Elemento a establecer en el nodo. 
	 */
    public void setElemento(E elemento) { 
    	this.elemento = elemento; 
    }
    
    /**
	 * Devuelve el nodo anterior. 
	 * @return Nodo anterior.
	 */
    public DNodo<E> getPrev() { 
    	return prev; 
    }
    
    /**
   	 * Devuelve el nodo siguiente. 
   	 * @return Nodo siguiente.
   	 */
    public DNodo<E> getNext() { 
    	return next; 
    }
    
    /**
   	 * Establece el nodo anterior. 
   	 * @param Nodo anterior.
   	 */
    public void setPrev(DNodo<E> prev) {
    	this.prev = prev; 
    }
    
    /**
   	 * Establece el nodo siguiente. 
   	 * @param Nodo siguiente.
   	 */
    public void setNext(DNodo<E> next) { 
    	this.next = next; 
    }
}